package top.api.service;

import top.api.common.ResponseResult;
import top.api.domain.dto.LinkAddDto;
import top.api.domain.dto.LinkUpdateDto;
import top.api.domain.dto.LinkUpdateStatusDto;
import top.api.domain.entity.Link;
import com.baomidou.mybatisplus.extension.service.IService;

/**
* @author 27465
* @description 针对表【sg_link(友链)】的数据库操作Service
* @createDate 2023-01-29 17:21:45
*/
public interface LinkService extends IService<Link> {

    /**
     * 查询所有友链
     * @return
     */
    ResponseResult getAllLink();

    /**
     * admin 友链分页查询
     * @param pageNum
     * @param pageSize
     * @param name
     * @param status
     * @return
     */
    ResponseResult getLinkPage(Integer pageNum, Integer pageSize, String name, String status);

    /**
     * admin 新增友链
     * @param linkAddDto
     * @return
     */
    ResponseResult addLink(LinkAddDto linkAddDto);

    /**
     * admin 查询友链详情
     * @param id
     * @return
     */
    ResponseResult getLinkInfo(Long id);

    /**
     * admin 修改友链
     * @param linkUpdateDto
     * @return
     */
    ResponseResult updateLink(LinkUpdateDto linkUpdateDto);

    /**
     * admin 删除友链
     * @param id
     * @return
     */
    ResponseResult deleteLink(Long id);

    /**
     * 审核友链
     * @param linkUpdateDto
     * @return
     */
    ResponseResult updateLinkStatus(LinkUpdateStatusDto linkUpdateDto);
}
